#ifndef CRECIPE_H
#define CRECIPE_H

#include <QObject>
#include <QString>
#include <QStringList>
#include "cmethod.h"
#include "cobject.h"
namespace cooking {

class CRecipe : public CObject
{
    Q_OBJECT

//    Q_PROPERTY(int id READ id WRITE setId NOTIFY idChanged)
//    Q_PROPERTY(int cuisineId READ cuisineId WRITE setCuisineId NOTIFY cuisineIdChanged)
    Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
    Q_PROPERTY(bool representative READ representative WRITE setRepresentative NOTIFY representativeChanged)
    Q_PROPERTY(int flavourId READ flavourId WRITE setFlavourId NOTIFY flavourIdChanged)
    Q_PROPERTY(int techId READ techId WRITE setTechId NOTIFY techIdChanged)
    Q_PROPERTY(int prepareTime READ prepareTime WRITE setPrepareTime NOTIFY prepareTimeChanged)
    Q_PROPERTY(int cookingTime READ cookingTime WRITE setCookingTime NOTIFY cookingTimeChanged)
    Q_PROPERTY(int difficulty READ difficulty WRITE setDifficulty NOTIFY difficultyChanged)
    Q_PROPERTY(int dishTypeId READ dishTypeId WRITE setDishTypeId NOTIFY dishTypeIdChanged)
    Q_PROPERTY(int foodTypeId READ foodTypeId WRITE setFoodTypeId NOTIFY foodTypeIdChanged)
    Q_PROPERTY(int serve READ serve WRITE setServe NOTIFY serveChanged)
    Q_PROPERTY(QString picture READ picture WRITE setPicture NOTIFY pictureChanged)

public:
    explicit CRecipe(QObject *parent = 0);

//    int id();
//    void setId(int recipeId);

//    int cuisineId();
//    void setCuisineId(int cuisineId);

    QString name();
    void setName(QString name);

    bool representative();
    void setRepresentative(bool rep);

    int flavourId();
    void setFlavourId(int flavourId);

    int techId();
    void setTechId(int techId);

    int prepareTime();
    void setPrepareTime(int time);

    int cookingTime();
    void setCookingTime(int time);

    int difficulty();
    void setDifficulty(int diff);

    int dishTypeId();
    void setDishTypeId(int typeId);

    int foodTypeId();
    void setFoodTypeId(int typeId);

    int serve();
    void setServe(int serve);

    QString picture();
    void setPicture(QString picture);

signals:
//    void idChanged();
//    void cuisineIdChanged();
    void nameChanged();
    void representativeChanged();
    void flavourIdChanged();
    void techIdChanged();
    void prepareTimeChanged();
    void cookingTimeChanged();
    void difficultyChanged();
    void dishTypeIdChanged();
    void foodTypeIdChanged();
    void serveChanged();
    void pictureChanged();

public slots:

private:
//    int m_id;
//    int m_cuisine_id;
    QString m_name;
    bool m_representative;
    int m_flavour_id;
    int m_tech_id;
    int m_prepare_time;
    int m_cooking_time;
    int m_difficulty;
    int m_dish_type_id;
    int m_food_type_id;
    int m_serve;
    QString m_picture;
};
} // namespace cooking
#endif // CRECIPE_H
